Augmented reality enhances the physical world by creating virtual annotations to augment one's perception of reality. It has found applications in various areas, such as training, communication, entertainment, education, driving-safety, and healthcare. As a result in recent advances of augmented reality devices (e.g., Microsoft® HoloLens) and development of augmented reality applications for use with personal devices such as mobile phones and tablet computing devices, as well as development of communication technologies (e.g., 5G and 802.11ac/ad), AR applications will likely become ubiquitous and be widely adopted by consumers and businesses. However, most augmented reality applications operate independently in a standalone way and may be computationally intensive to maintain. Furthermore, the variable nature of augmented reality environments results in challenges for developers when creating augmented reality applications.